package _08_factory_method_pattern.v1_0;

import _08_factory_method_pattern.v1_0.human.BlackHuman;
import _08_factory_method_pattern.v1_0.human.Human;
import _08_factory_method_pattern.v1_0.human.WhiteHuman;
import _08_factory_method_pattern.v1_0.human.YellowHuman;

/**
 * @Description: 女娲类,造人
 * @Auther: 2019/6/11 15:28 by zhang.jy
 */
public class NvWa {
	public static void main(String[] args) {
		//声明阴阳八卦炉
		AbstractHumanFactory YinYangLu = new HumanFactory();

		//女娲第一次造人，火候不足，于是白人产生了
		System.out.println("--造出的第一批人是白色人种--");
		Human whiteHuman = YinYangLu.createHuman(WhiteHuman.class);
		whiteHuman.getColor();
		whiteHuman.talk();
		//女娲第二次造人，火候过足，于是黑人产生了
		System.out.println("\n--造出的第二批人是黑色人种--");
		Human blackHuman = YinYangLu.createHuman(BlackHuman.class);
		blackHuman.getColor();
		blackHuman.talk();
		//第三次造人，火候刚刚好，于是黄色人种产生了
		System.out.println("\n--造出的第三批人是黄色人种--");
		Human yellowHuman = YinYangLu.createHuman(YellowHuman.class);
		yellowHuman.getColor();
		yellowHuman.talk();
	}
}